import socket
# 创建socket
server = socket.socket()
# 绑定ip地址和端口
server.bind(("localhost", 6666))
# 监听端口 listen:接收连接的数量
server.listen(2)
print("服务器已经启动")
# 等待客户链接 返回二元元组（服务端和客户端链接对象、客户端地址）
# accept是阻塞方法，等待客户端链接，如果没有连接就卡在这一行，不向下执行
conn, address = server.accept()
print(f"{address}连接成功")
while True:
    # 接收客户端信息
    # recv接收的参数是 缓冲区大小，一般给1024就可以
    # recv返回值是一个字节数组，不是字符串，通过utf-8编码转化为字符串
    data = conn.recv(1024).decode("utf-8")
    print(f"客户端发来的消息是：{data}")
    msg = input("输入回复消息：")
    if msg == "exit":
        break
    # 发送回复信息
    conn.send(msg.encode("utf-8"))
# 关闭链接
conn.close()
server.close()